package tema8.modello;

/**
 * Una curva fatta a fiore con N petali.
 * 
 * NOTA: funziona bene solo con N multiplo di 4.
 * con N pari, ma non multiplo di 4, i petali sono N/2.
 * con N dispari, un petalo viene spezzato in 2. 
 * 
 * @author Alessandro Martinelli
 */
public class FioreANPetali implements Curva{

	private float r,xc,yc;
	private int N;
	
	public FioreANPetali(float r, float xc, float yc,int N) {
		super();
		this.r = r;
		this.xc = xc;
		this.yc = yc;
		this.N=N;
	}
	
	@Override
	public float getTMax() {
		return 1;
	}
	
	@Override
	public float getTMin() {
		return 0;
	}
	
	@Override
	public float getX(float t) {
		return xc+r*(float)(Math.cos(2*Math.PI*t)*Math.cos(N*Math.PI*t));
	}
	
	@Override
	public float getY(float t) {
		return yc+r*(float)(Math.sin(2*Math.PI*t)*Math.cos(N*Math.PI*t));
	}
	
}
